package cn.sytton.taffecloud.common.servlet.service;

import cn.sytton.taffecloud.common.db.mapper.BizSqlMapper;
import cn.sytton.taffecloud.common.db.model.PageParam;
import cn.sytton.taffecloud.common.db.mybatis.SortHelper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

/**
 * 业务服务层BaseService
 *
 * @author skyrock
 */
public class BaseService<T> {

    protected PageInfo<T> findListPage(PageParam pp, BizSqlMapper<T> mapper) {
        setPageParams(pp);
        return new PageInfo<>(mapper.findList(pp.getParams()));
    }

    protected void setPageParams(PageParam pp) {
        PageHelper.startPage(pp.getPageNum(),
                pp.getPageSize(),
                SortHelper.convertGbk(pp.getSort()),
                pp.getFilter());
    }

}
